Фильтрация Фильтром Баттерворта
Назначение
Процедура позволяет разделять двумерное поле на компоненты с разными пространственными частотами на основе фильтра Баттерворта, обеспечивающего максимально гладкую амплитудно-частотную характеристику.
Алгоритм
Обработка выполняется в частотной области с использованием быстрого преобразования Фурье (БПФ). Алгоритм работает с 2D гридом (скалярное поле, заданное на регулярной 2D сети).
Математическая основа
Алгоритм использует классическую передаточную функцию фильтра Баттерворта, которая в нашей реализации напрямую оперирует длиной волны в единицах сети и степенью фильтра n, задаваемыми пользователем.
Базовая формула (фильтр низких частот)
АЧХ Фильтра низких частот (ФНЧ) Баттерворта имеет следующий вид:
.
Эта формула используется как базовая для других фильтров.
Переменные в формуле:
- — длина волны среза, заданная в единицах сети (метрах или градусах). Она определяет границу между низко- и высокочастотными компонентами, таким образом задавая минимальный размер объектов, сохраняемых на сетке: объекты мельче этой границы будут отфильтрованы.
- — степень фильтра, целое число от 1 до 16, заданное в интерфейсе. Определяет крутизну спада характеристики.
- — радиальная пространственная частота.
- , — пространственные частоты по осям X и Y.
Другие типы фильтров
Формулы для других типов фильтров выводятся из базовой:
- Фильтр высоких частот вычисляется как Остаточное поле - разница между исходным полем и полем, профильтрованным ФНЧ, и имеет следующую АЧХ: .
- Полосовой фильтр (ПФ) между двумя длинами волн среза (нижняя граница, короткая волна) и (верхняя граница, длинная волна), , оставляет только определённую полосу частот определён как произведение ФВЧ и ФНЧ:
.
- Режекторный фильтр (РФ) подавляет определённую полосу частот и определён как остаточное поле к полосовому фильтру.
Этапы алгоритма
Алгоритм включает следующие этапы:
- Подготовка поля к БПФ.
- Если включена опция Корректировать краевые эффекты ,
- Выполняется вычитание тренда.
- Сеть (грид) расширяется с заполнением расширенной части пропусками.
- Все пропуски внутри исходной области и в расширенной части заполняются методом минимальной кривизны.
- Если опция коррекции выключена:
- Проверяется наличие пропусков в исходном поле.
- Если пропуски обнаружены, они заполняются методом конечных разностей для уравнения Лапласа - только для обеспечения отсутствия пропусков для БПФ.
- Если включена опция Корректировать краевые эффекты ,
- Частотная фильтрация:
- Исходное поле преобразуется в комплексный формат
- Выполняется прямое двумерное дискретное преобразование Фурье (переход из пространственной области в частотную)
- Применение фильтра:
- Комплексный спектр поля умножается на передаточную функцию (выполняется поэлементное умножение в частотной области)
- Выполняется обратное преобразование Фурье
- Извлекается вещественная часть результата
- Результат преобразуется к исходным параметрам двумерной сетки:
- Если были пропуски они восстанавливаются.
- Если была включена опция Корректировать краевые эффекты , расширенная часть грида удаляется.
Параметры
Для определения обрабатываемого поля необходимо выбрать нужное свойство из числа существующих в текущей ТОС (см. Рис. 1), параметр Свойство на панели Исходное поле.
Тип фильтра Определяет характер разделения частот:
- Частотный — разделяет поле на две компоненты.
- Полосовой — выделяет заданный диапазон пространственных периодов.
Для типа Частотный: Длина волны — задаёт границу между низко- и высокочастотной компонентами. Для типа Полосовой: Длина волны (нижняя граница) — минимальный период (коротковолновая граница). Длина волны (верхняя граница) — максимальный период (длинноволновая граница). Примечание: Для полосового фильтра в результат попадают структуры с периодами между заданными границами.
Параметр Степень фильтра — определяет крутизну спада АЧХ на границе полос (Непосредственно используется в передаточной функции, указанной выше). Чем выше степень, тем резче разделяются частотные компоненты. Рекомендуемые значения: 4–8. Степени выше 8 могут приводить к усилению краевых эффектов без существенного улучшения фильтрации. Тем не менее интерфейс позволяет выбирать степень фильтра от 1 до 16.
Галочка Корректировать краевые эффекты по умолчанию включена.
Рис. 1. Выбор параметров фильтра Баттерворта
Для определения Профильтрованного поля необходимо определить Имя файла ТОС и Свойство на панели Результат фильтрации фильтром Баттерворта. По умолчанию используется имя файла текущей ТОС.
Остаточное поле определяется аналогично профильтрованному.
В зависимости от особенностей решаемой задачи, пользователь может отказаться от расчета одного из выходных полей: профильтрованного или остаточного - для этого достаточно снять отметку (флажок) о расчете соответствующей компоненты, которая находится слева от ее названия.
В результате выполнения процедуры в зависимости от заданных пользователем имен выходных ТОС создаются новые ТОС, либо дописываются новые свойства к уже существующим ТОС, в которых размещаются профильтрованное и остаточное поля. Создаваемые ТОС наследуют размеры и параметры сети исходной (текущей) ТОС.
При включённом режиме Корректировать краевые эффекты компоненты тренда вычисленные при выполнении алгоритма корректировки записываются в ту ТОС, в которую записывается результат фильтрации, или в ту ТОС куда записывается результат Остаточное поле, если пользователь отказался от сохранения профильтрованного поля.
